<?php
/* 	These code was generated using phpCIGen v 2.a (21/05/2012)
	#zaqi 		zaqi.smart@gmail.com,http://zenzaqi.blogspot.com, 
	#CV. Trust Solution, jl. Saronojiwo 2/19 Surabaya, http://www.ts.co.id
	
	+ Module  		: t_komp Controller
	+ Description	: For record controller process back-end
	+ Filename 		: C_t_komp.php
 	+ creator 		: 
 	+ Created on 24/Jul/2012 10:52:52
	
*/

//class of t_komp
class C_t_komp extends CI_Controller {

	//constructor
	function __construct(){
		parent::__construct();
		
		$this->load->model('m_t_komp', '', TRUE);
		checkLogin();
	}
	function get_vendor(){
		$query = isset($_POST['query']) ? @$_POST['query'] : "";
		$vendor_type=@$_POST["vendor_type"];
		$branch_id=@$_POST["branch_id"];
		$project_id=@$_POST["project_id"];
		$job_id=@$_POST["job_id"];
		$start = (integer) (isset($_POST['start']) ? @$_POST['start'] : @$_GET['start']);
		$end = (integer) (isset($_POST['limit']) ? @$_POST['limit'] : @$_GET['limit']);
		$result=$this->m_t_komp->get_vendor($query, $vendor_type, $start, $end,$branch_id,$project_id,$job_id);
		echo $result;
	}
	
	function kompdet_list(){
		$query = isset($_POST['query']) ? @$_POST['query'] : "";
		$start = (integer) (isset($_POST['start']) ? @$_POST['start'] : @$_GET['start']);
		$end = (integer) (isset($_POST['limit']) ? @$_POST['limit'] : @$_GET['limit']);
		$task = (integer) (isset($_POST['detail']) ? @$_POST['detail'] : @$_GET['detail']);
		$komp_id = (integer) (isset($_POST['komp_id']) ? @$_POST['komp_id'] : @$_GET['komp_id']);
		$master_id = (integer) (isset($_POST['master_id']) ? @$_POST['master_id'] : @$_GET['master_id']);
		
		$result=$this->m_t_komp->kompdet_list($master_id,$query,$start,$end,$task,$komp_id);
		
		echo $result;
	}
	
	function get_nosurat_byvendor(){
		$nosurat = isset($_POST['nosurat']) ? @$_POST['nosurat'] : "";
		$vendor = (integer) (isset($_POST['vendor']) ? @$_POST['vendor'] : @$_GET['vendor']);
		$result=$this->m_t_komp->get_nosurat_byvendor($vendor,$nosurat);
		echo $result;
	}
	
	function get_jobdet_all(){
		$query = isset($_POST['query']) ? @$_POST['query'] : "";
		$start = (integer) (isset($_POST['start']) ? @$_POST['start'] : @$_GET['start']);
		$end = (integer) (isset($_POST['limit']) ? @$_POST['limit'] : @$_GET['limit']);
		$task = isset($_POST['task']) ? @$_POST['task'] : "";
		$master_id = isset($_POST['master_id']) ? @$_POST['master_id'] : "";
		
		$selected_id=@$_POST["selected_id"];
		$selected_id = json_decode($selected_id);
		
		$result=$this->m_t_komp->get_jobdet_all($task,$master_id,$selected_id,$query,$start,$end);
		echo $result;
	}
	
	function t_kompdet_grouptemp_create(){
		$group_id=@$_POST["group_id"];
		$group_id=is_numeric($group_id)?$group_id:0;
		$group_uraian=trim(@$_POST["group_uraian"]);
		$group_publish=(@$_POST["group_publish"]=='true'?1:0);
		$group_kompprice=@$_POST["group_kompprice"];
		$by = @$_SESSION[SESSION_USERID];
		if ($group_id == 0 ){
			$result = $this->m_t_komp->t_kompdet_grouptemp_create($group_uraian, $group_publish,$group_kompprice, $by);
		}else{
			$result = $this->m_t_komp->t_kompdet_grouptemp_update($group_id,$group_uraian, $group_publish,$group_kompprice, $by);
		}
		echo 1;
	}
	
	function t_kompdet_grouptemp_delete(){
		$group_id=@$_POST["group_id"];
		$group_id=is_numeric($group_id)?$group_id:0;
		$by = @$_SESSION[SESSION_USERID];
		$result = $this->m_t_komp->t_kompdet_grouptemp_delete($group_id);
		echo $result;
	}
	
	function t_kompdet_groupdettemp_create(){
		$groupdettemp_id=@$_POST["groupdettemp_id"];
		$groupdettemp_id=is_numeric($groupdettemp_id)?$groupdettemp_id:0;
		$group_id=@$_POST["group_id"];
		$group_id=is_numeric($group_id)?$group_id:0;
		$m_jobdet_id=@$_POST["m_jobdet_id"];
		$m_jobdet_id=is_numeric($m_jobdet_id)?$m_jobdet_id:0;
		$rapkdet_volume=@$_POST["rapkdet_volume"];
		$rapkdet_volume=is_numeric($rapkdet_volume)?$rapkdet_volume:0;
		$kompdet_volume=@$_POST["kompdet_volume"];
		$kompdet_volume=is_numeric($kompdet_volume)?$kompdet_volume:0;
		$rapkdet_unit=@$_POST["rapkdet_unit"];
		$rapkdet_unit=is_numeric($rapkdet_unit)?$rapkdet_unit:0;
		$kompdet_price=@$_POST["kompdet_price"];
		$kompdet_price=is_numeric($kompdet_price)?$kompdet_price:0;
		$rapkdet_price=@$_POST["rapkdet_price"];
		$rapkdet_price=is_numeric($rapkdet_price)?$rapkdet_price:0;
		$rapkdet_publish=(@$_POST["rapkdet_publish"]=='true'?1:0);
		if ($groupdettemp_id == 0 ){
			$result = $this->m_t_komp->t_kompdet_groupdettemp_create($kompdet_volume,$kompdet_price,$group_id, $m_jobdet_id, $rapkdet_volume, $rapkdet_unit, $rapkdet_price, $rapkdet_publish);
		}else{
			$result = $this->m_t_komp->t_kompdet_groupdettemp_update($kompdet_volume,$kompdet_price,$groupdettemp_id,$group_id, $m_jobdet_id, $rapkdet_volume, $rapkdet_unit, $rapkdet_price, $rapkdet_publish);
		}
		echo 1;
	}
	function t_kompdet_grouptemp_getAll(){
		$by = @$_SESSION[SESSION_USERID];
		$result=$this->m_t_komp->t_kompdet_grouptemp_getAll($by);
		echo $result;
	}
	
	function kompdet_list_all(){
		$by = @$_SESSION[SESSION_USERID];
		$result=$this->m_t_komp->kompdet_list_all($by);
		echo $result;
	}
	
	function t_kompdet_detailtemp_delete(){
		$ids = @$_POST['ids']; // Get our array back and translate it :
		$pkid = json_decode(stripslashes($ids));
		$result=$this->m_t_komp->t_kompdet_detailtemp_delete($pkid);
		echo $result;
	}
	
	function t_kompdet_groupdettemp_getAll(){
		$group_id=@$_POST["group_id"];
		$group_id=is_numeric($group_id)?$group_id:0;
		$result=$this->m_t_komp->t_kompdet_groupdettemp_getAll($group_id);
		echo $result;
	}
	//set index
	function index(){
		$this->load->view('main/v_t_komp');
	}
	
	//event handler action
	function get_action(){
		$task = $_POST['task'];
		switch($task){
			case "LIST":
				$this->t_komp_list();
				break;
			case "UPDATE":
				$this->t_komp_update();
				break;
			case "CREATE":
				$this->t_komp_create();
				break;
			case "DELETE":
				$this->t_komp_delete();
				break;
			case "SEARCH":
				$this->t_komp_search();
				break;
			case "PRINT":
				$this->t_komp_print();
				break;
			case "EXCEL":
				$this->t_komp_export_excel();
				break;
			case "GETDATA_SUBKON":
				$this->t_komp_data_subkon();
				break;
			case "EDIT_SUBKON":
				$this->t_komp_edit_subkon();
				break;
			default:
				echo "{failure:true}";
				break;
		}
	}
	
	
	function t_komp_data_subkon(){
		$by = @$_SESSION[SESSION_USERID];
		$this->m_t_komp->t_kompdet_grouptemp_truncate($by);
		
		$rapk_id=@$_POST["rapk_id"];
		$rapk_id=is_numeric($rapk_id)?$rapk_id:0;
		$by = @$_SESSION[SESSION_USERID];
		echo $this->m_t_komp->t_komp_data_subkon($rapk_id,$by);
	}
	
	function t_komp_edit_subkon(){
		$by = @$_SESSION[SESSION_USERID];
		$this->m_t_komp->t_kompdet_grouptemp_truncate($by);
		
		$rapk_id=@$_POST["rapk_id"];
		$rapk_id=is_numeric($rapk_id)?$rapk_id:0;
		$by = @$_SESSION[SESSION_USERID];
		echo $this->m_t_komp->t_komp_edit_subkon($rapk_id,$by);
	}
	
	function t_kompdet_grouptemp_truncate(){ 
		$by = @$_SESSION[SESSION_USERID];
		$this->m_t_komp->t_kompdet_grouptemp_truncate($by);
	}
	
	//function fot list record
	function t_komp_list(){
		
		$query = isset($_POST['query']) ? @$_POST['query'] : "";
		$start = (integer) (isset($_POST['start']) ? @$_POST['start'] : @$_GET['start']);
		$end = (integer) (isset($_POST['limit']) ? @$_POST['limit'] : @$_GET['limit']);
		$result=$this->m_t_komp->t_komp_list($query,$start,$end);
		echo $result;
	}
	
	//function for create new record
	function t_komp_create(){
		//POST varible here
		//auto increment, don't accept anything from form values
		$branch=@$_POST["branch"];
		$div_id=@$_POST["div_id"];
		$branch=is_numeric($branch)?$branch:0;
		$project=@$_POST["project"];
		$project=is_numeric($project)?$project:0;
		$job=@$_POST["job"];
		$job=is_numeric($job)?$job:0;
		$vendor=@$_POST["vendor"];
		$vendor=is_numeric($vendor)?$vendor:0;
		$komp_date=@$_POST["komp_date"];
		$komp_date=date('Y-m-d', strtotime($komp_date));
		$komp_no=@$_POST["komp_no"];
		if ($div_id != '503. Sub Kontraktor'){
			//data detail
			$array_rapkdet_id=@$_POST["rapkdet_id"];
			$array_rapkdet_id=json_decode(stripslashes($array_rapkdet_id));
			$array_kompdet_id=@$_POST["kompdet_id"];
			$array_kompdet_id=json_decode(stripslashes($array_kompdet_id));
			$array_jobdet_id=@$_POST["jobdet_id"];
			$array_jobdet_id=json_decode(stripslashes($array_jobdet_id));
			$array_kompdet_vol=@$_POST["kompdet_vol"];
			$array_kompdet_vol=json_decode(stripslashes($array_kompdet_vol));
			$array_kompdet_rapkvolume=@$_POST["kompdet_rapkvolume"];
			$array_kompdet_rapkvolume=json_decode(stripslashes($array_kompdet_rapkvolume));
			$array_kompdet_unit=@$_POST["kompdet_unit"];
			$array_kompdet_unit=json_decode(stripslashes($array_kompdet_unit));
			$array_kompdet_rapkprice=@$_POST["kompdet_rapkprice"];
			$array_kompdet_rapkprice=json_decode(stripslashes($array_kompdet_rapkprice));
			$array_kompdet_price=@$_POST["kompdet_price"];
			$array_kompdet_price=json_decode(stripslashes($array_kompdet_price));
			
			
			$result=$this->m_t_komp->t_komp_create($branch, $project, $job, $vendor, $komp_date, $komp_no, 
					$array_rapkdet_id, $array_kompdet_id, $array_jobdet_id, $array_kompdet_vol,$array_kompdet_rapkvolume, $array_kompdet_unit, 
					$array_kompdet_rapkprice, $array_kompdet_price);
		}else{
			$result=$this->m_t_komp->t_komp_create_group($branch, $project, $job, $vendor, $komp_date, $komp_no 
				);
		}
		echo $result;
	}
	
	
	//function for update record
	function t_komp_update(){
		//POST variable here
		$div_id=@$_POST["div_id"];
		$komp_id=@$_POST["komp_id"];
		$komp_id=is_numeric($komp_id)?$komp_id:0;
		$branch=@$_POST["branch"];
		$branch=is_numeric($branch)?$branch:0;
		$project=@$_POST["project"];
		$project=is_numeric($project)?$project:0;
		$job=@$_POST["job"];
		$job=is_numeric($job)?$job:0;
		$vendor=@$_POST["vendor"];
		$vendor=is_numeric($vendor)?$vendor:0;
		$komp_date=@$_POST["komp_date"];
		$komp_date=date('Y-m-d', strtotime($komp_date));
		$komp_no=@$_POST["komp_no"];
		
		if ($div_id != '503. Sub Kontraktor'){
		//data detail
		$array_rapkdet_id=@$_POST["rapkdet_id"];
		$array_rapkdet_id=json_decode(stripslashes($array_rapkdet_id));
		$array_kompdet_id=@$_POST["kompdet_id"];
		$array_kompdet_id=json_decode(stripslashes($array_kompdet_id));
		$array_jobdet_id=@$_POST["jobdet_id"];
		$array_jobdet_id=json_decode(stripslashes($array_jobdet_id));
		$array_kompdet_vol=@$_POST["kompdet_vol"];
		$array_kompdet_vol=json_decode(stripslashes($array_kompdet_vol));
		$array_kompdet_unit=@$_POST["kompdet_unit"];
		$array_kompdet_unit=json_decode(stripslashes($array_kompdet_unit));
		$array_kompdet_rapkprice=@$_POST["kompdet_rapkprice"];
		$array_kompdet_rapkprice=json_decode(stripslashes($array_kompdet_rapkprice));
		$array_kompdet_price=@$_POST["kompdet_price"];
		$array_kompdet_price=json_decode(stripslashes($array_kompdet_price));
		
		$result = $this->m_t_komp->t_komp_update($komp_id, $branch, $project, $job, $vendor, $komp_date, $komp_no, 
				$array_rapkdet_id, $array_kompdet_id, $array_jobdet_id, $array_kompdet_vol, $array_kompdet_unit, 
				$array_kompdet_rapkprice, $array_kompdet_price);
				
		}else{
			$result=$this->m_t_komp->t_komp_update_group($komp_id, $branch, $project, $job, $vendor, $komp_date, $komp_no);
		}
		echo $result;
	}
	
	//function for delete selected record
	function t_komp_delete(){
		$ids = @$_POST['ids']; // Get our array back and translate it :
		$pkid = json_decode(stripslashes($ids));
		$result=$this->m_t_komp->t_komp_delete($pkid);
		echo $result;
	}

	//function for advanced search
	function t_komp_search(){
		//POST varibale here
		$komp_id=@$_POST["komp_id"];
		$komp_id=is_numeric($komp_id)?$komp_id:0;
		$komp_flag=trim(@$_POST["komp_flag"]);
		$komp_flag=htmlentities($komp_flag,ENT_QUOTES);
		$job=trim(@$_POST["job"]);
		$job=htmlentities($job,ENT_QUOTES);
		$project=trim(@$_POST["project"]);
		$project=htmlentities($project,ENT_QUOTES);
		$komp_name=trim(@$_POST["komp_name"]);
		$komp_name=htmlentities($komp_name,ENT_QUOTES);
		$komp_shortname=trim(@$_POST["komp_shortname"]);
		$komp_shortname=htmlentities($komp_shortname,ENT_QUOTES);
		$komp_pm=trim(@$_POST["komp_pm"]);
		$komp_pm=htmlentities($komp_pm,ENT_QUOTES);
		$komp_semcm=trim(@$_POST["komp_semcm"]);
		$komp_semcm=htmlentities($komp_semcm,ENT_QUOTES);
		$komp_value=trim(@$_POST["komp_value"]);
		$komp_start=trim(@$_POST["komp_start"]);
		$komp_p1=trim(@$_POST["komp_p1"]);
		$komp_p2=trim(@$_POST["komp_p2"]);
		$komp_created_date=trim(@$_POST["komp_created_date"]);
		$komp_created_by=trim(@$_POST["komp_created_by"]);
		$komp_created_by=htmlentities($komp_created_by,ENT_QUOTES);
		$komp_updated_date=trim(@$_POST["komp_updated_date"]);
		$komp_updated_by=trim(@$_POST["komp_updated_by"]);
		$komp_updated_by=htmlentities($komp_updated_by,ENT_QUOTES);
		$komp_updated_count=@$_POST["komp_updated_count"];
		$komp_updated_count=is_numeric($komp_updated_count)?$komp_updated_count:0;
		$branch=@$_POST["branch_id"];
		$branch=is_numeric($branch)?$branch:0;
		
		$start = (integer) (isset($_POST['start']) ? $_POST['start'] : $_GET['start']);
		$end = (integer) (isset($_POST['limit']) ? $_POST['limit'] : $_GET['limit']);
		$result = $this->m_t_komp->t_komp_search($komp_id ,$komp_flag ,$job ,$project ,$komp_name ,$komp_shortname ,$komp_pm ,$komp_semcm ,$komp_value ,$komp_start ,$komp_p1 ,$komp_p2 ,$komp_created_date ,$komp_created_by ,$komp_updated_date ,$komp_updated_by ,$komp_updated_count ,$branch ,$start,$end);
		echo $result;
	}


	function t_komp_print(){
  		//POST varibale here
		$komp_id=@$_POST["komp_id"];
		$komp_id=is_numeric($komp_id)?$komp_id:0;
		$komp_flag=trim(@$_POST["komp_flag"]);
		$komp_flag=htmlentities($komp_flag,ENT_QUOTES);
		$job=trim(@$_POST["job"]);
		$job=htmlentities($job,ENT_QUOTES);
		$project=trim(@$_POST["project"]);
		$project=htmlentities($project,ENT_QUOTES);
		$komp_name=trim(@$_POST["komp_name"]);
		$komp_name=htmlentities($komp_name,ENT_QUOTES);
		$komp_shortname=trim(@$_POST["komp_shortname"]);
		$komp_shortname=htmlentities($komp_shortname,ENT_QUOTES);
		$komp_pm=trim(@$_POST["komp_pm"]);
		$komp_pm=htmlentities($komp_pm,ENT_QUOTES);
		$komp_semcm=trim(@$_POST["komp_semcm"]);
		$komp_semcm=htmlentities($komp_semcm,ENT_QUOTES);
		$komp_value=trim(@$_POST["komp_value"]);
		$komp_start=trim(@$_POST["komp_start"]);
		$komp_p1=trim(@$_POST["komp_p1"]);
		$komp_p2=trim(@$_POST["komp_p2"]);
		$komp_created_date=trim(@$_POST["komp_created_date"]);
		$komp_created_by=trim(@$_POST["komp_created_by"]);
		$komp_created_by=htmlentities($komp_created_by,ENT_QUOTES);
		$komp_updated_date=trim(@$_POST["komp_updated_date"]);
		$komp_updated_by=trim(@$_POST["komp_updated_by"]);
		$komp_updated_by=htmlentities($komp_updated_by,ENT_QUOTES);
		$komp_updated_count=@$_POST["komp_updated_count"];
		$komp_updated_count=is_numeric($komp_updated_count)?$komp_updated_count:0;
		$branch=@$_POST["branch_id"];
		$branch=is_numeric($branch)?$branch:0;
		$option=$_POST['currentlisting'];
		$filter=$_POST["query"];
		
		$data["data_print"] = $this->m_t_komp->t_komp_print($komp_id ,$komp_flag ,$job ,$project ,$komp_name ,$komp_shortname ,$komp_pm ,$komp_semcm ,$komp_value ,$komp_start ,$komp_p1 ,$komp_p2 ,$komp_created_date ,$komp_created_by ,$komp_updated_date ,$komp_updated_by ,$komp_updated_count ,$branch ,$option,$filter);
		$print_view=$this->load->view("main/p_t_komp.php",$data,TRUE);
		if(!file_exists("print")){
			mkdir("print");
		}
		$print_file=fopen("print/t_komp_printlist.html","w+");
		fwrite($print_file, $print_view);
		echo '1';        
	}
	/* End Of Function */

	/* Function to Export Excel document */
	function t_komp_export_excel(){
		//POST varibale here
		$komp_id=@$_POST["komp_id"];
		$komp_id=is_numeric($komp_id)?$komp_id:0;
		$komp_flag=trim(@$_POST["komp_flag"]);
		$komp_flag=htmlentities($komp_flag,ENT_QUOTES);
		$job=trim(@$_POST["job"]);
		$job=htmlentities($job,ENT_QUOTES);
		$project=trim(@$_POST["project"]);
		$project=htmlentities($project,ENT_QUOTES);
		$komp_name=trim(@$_POST["komp_name"]);
		$komp_name=htmlentities($komp_name,ENT_QUOTES);
		$komp_shortname=trim(@$_POST["komp_shortname"]);
		$komp_shortname=htmlentities($komp_shortname,ENT_QUOTES);
		$komp_pm=trim(@$_POST["komp_pm"]);
		$komp_pm=htmlentities($komp_pm,ENT_QUOTES);
		$komp_semcm=trim(@$_POST["komp_semcm"]);
		$komp_semcm=htmlentities($komp_semcm,ENT_QUOTES);
		$komp_value=trim(@$_POST["komp_value"]);
		$komp_start=trim(@$_POST["komp_start"]);
		$komp_p1=trim(@$_POST["komp_p1"]);
		$komp_p2=trim(@$_POST["komp_p2"]);
		$komp_created_date=trim(@$_POST["komp_created_date"]);
		$komp_created_by=trim(@$_POST["komp_created_by"]);
		$komp_created_by=htmlentities($komp_created_by,ENT_QUOTES);
		$komp_updated_date=trim(@$_POST["komp_updated_date"]);
		$komp_updated_by=trim(@$_POST["komp_updated_by"]);
		$komp_updated_by=htmlentities($komp_updated_by,ENT_QUOTES);
		$komp_updated_count=@$_POST["komp_updated_count"];
		$komp_updated_count=is_numeric($komp_updated_count)?$komp_updated_count:0;
		$branch=@$_POST["branch_id"];
		$branch=is_numeric($branch)?$branch:0;
		$option=$_POST['currentlisting'];
		$filter=$_POST["query"];
		$data["type"]="excel";
		$data["data_print"] = $this->m_t_komp->t_komp_print($komp_id ,$komp_flag ,$job ,$project ,$komp_name ,$komp_shortname ,$komp_pm ,$komp_semcm ,$komp_value ,$komp_start ,$komp_p1 ,$komp_p2 ,$komp_created_date ,$komp_created_by ,$komp_updated_date ,$komp_updated_by ,$komp_updated_count ,$branch ,$option,$filter);
		$print_view=$this->load->view("main/p_t_komp.php",$data,TRUE);
		if(!file_exists("print")){
			mkdir("print");
		}
		$print_file=fopen("print/t_komp_printlist.xls","w+");
		fwrite($print_file, $print_view);
		echo '1';   
			
	}
	
	// Encodes a SQL array into a JSON formated string
	function JEncode($arr){
		if (version_compare(PHP_VERSION,"5.2","<"))
		{    
			require_once("./JSON.php"); //if php<5.2 need JSON class
			$json = new Services_JSON();//instantiate new json object
			$data=$json->encode($arr);  //encode the data in json format
		} else {
			$data = json_encode($arr);  //encode the data in json format
		}
		return $data;
	}
	
	// Decode a SQL array into a JSON formated string
	function JDecode($arr){
		if (version_compare(PHP_VERSION,"5.2","<"))
		{    
			require_once("./JSON.php"); //if php<5.2 need JSON class
			$json = new Services_JSON();//instantiate new json object
			$data=$json->decode($arr);  //decode the data in json format
		} else {
			$data = json_decode($arr);  //decode the data in json format
		}
		return $data;
	}
		
}
?>